package leetcode_600;

/**
 *@author 周杨
 *ReverseStringII_541 给定一个字符串 和Int k 使得反转字符串的k个字符然后不反转k个字符 一直这样循环
 *describe:AC 34% 简单题
 *2018年9月12日 上午10:21:02
 */
public class ReverseStringII_541 {
	public static void main(String[] args) {
		ReverseStringII_541 test=new ReverseStringII_541();
		test.reverseStr("abcdefgh", 3);
	}
	
	public String reverseStr(String s, int k) {
		if(s.length()==0)
			return s;
        char []chars=s.toCharArray();
       // boolean flag=true;//当flag=true时 表明要反转
        int index=0;
        while(index<s.length()) {
        		if(index+k-1>=s.length())
        			help(chars,index,s.length()-1);
        		else
        			help(chars,index,index+k-1);
        		index+=(2*k);
        	}
        return new String(chars);
    }
	
	public void help(char chars[],int i,int j) {
		while(i<j) {
			char temp=chars[i];
			chars[i]=chars[j];
			chars[j]=temp;
			++i;
			--j;
		}
	}
}
